package YanZhengMaShengCheng;

import java.util.Random;
import java.util.Scanner;

/*
* 开发一个程序，可以生成指定位数的验证码，每位可以是数字、大小写字母。
* */

public class YanZhengMa
{
    // 我的写法
    public static void main1(String[] args)
    {
        int n;
        Scanner scan = new Scanner(System.in);
        n = scan.nextInt();
        Random rand = new Random();
        int srand = rand.nextInt('z');// 规定生成的最大随机数为'z'
        String yzm = "";
        while (n-- != 0)
        {
            while (!((srand >= '0' && srand <= '9') || (srand >= 'a' && srand <= 'z') || (srand >= 'A' && srand <= 'Z')))
                srand = rand.nextInt('z');
            yzm += (char)srand;
            srand = rand.nextInt();
        }

        System.out.println(yzm);
    }

    // 老师的写法
    public static void main(String[] args)
    {
        int n;
        Scanner scan = new Scanner(System.in);
        n = scan.nextInt();
        Random rand = new Random();
        String yzm = "";
        for (int i = 0; i < n; i++)
        {
            int type = rand.nextInt(3);// 规定生成的最大随机数为'3'，不包括3

            switch (type)
            {
                case 0:// 生成数字
                    yzm += rand.nextInt(10);
                    break;
                case 1:// 生成小写字符// 'a' ~ 'a' + 26 - 1 -> 25 + 'a'
                    yzm += (char)(rand.nextInt(26) + 'a');
                    break;
                case 2:// 生成大写字符// 'A' ~ 'A' + 26 - 1 -> 25 + 'A'
                    yzm += (char)(rand.nextInt(26) + 'A');
                    break;
            }
        }

        System.out.println(yzm);
    }
}
